package com.mzx.thread;

//多个线程同时操作同一个对象
// 买火车票的例子
//发现问题：多个线程同时操作同一个资源的情况下，线程不安全，数据紊乱（需要用到并发的知识）
//1.实现接口类
public class TestThread2 implements Runnable{
    //票数
    private int ticketNums=10;

    //2.重写run方法
    @Override
    public void run() {
        while (true){
            if (ticketNums<=0){
                break;
            }
            try {
                Thread.sleep(200);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println(Thread.currentThread().getName()+"--->拿到了第"+ticketNums--+"票");
        }
    }

    public static void main(String[] args) {
        //3.创建接口的对象
        TestThread2 testThread2 = new TestThread2();

        //线程可以起名字，每个都给他起个名字,因为这里获取了他的名字，，Thread.currentThread().getName()
        new Thread(testThread2,"小明").start();
        new Thread(testThread2,"老师").start();
        new Thread(testThread2,"黄牛").start();
    }
}
